/**
 * SchoolCustomSchoolCustom.java
 * 
 * Created Date: 2014年11月24日
 *				
 * Copyright (c)  Centling Technologies Co., Ltd.
 *
 * This software is the confidential and proprietary information of
 *  Centling Technologies Co., Ltd. ("Confidential Information"). You shall not
 * disclose such Confidential Information and shall use it only in accordance
 * with the terms of the license agreement you entered into with
 * Centling Technologies Co., Ltd.
 */
package com.centling.bluecollar.customer.entity;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.hibernate.annotations.GenericGenerator;

import com.centling.bluecollar.system.entity.AllocationWay;

/**
 * @author ted.ma 
 *
 */
@Entity
@Table(name = "t_schoolCustom")  //学校客户
public class SchoolCustomer {
	
	private String id;
	
	private String schoolCustomName;
	
	private Organization organization;  // 公司组织(所属公司)
	
	private List<SchoolContactInfo> schoolContactInfos;// 联系方式
	
	private String allocationTime;// 分配時間
	
	private List<AllocationWay> allocationWays;// 分配方式
	
	private List<SchoolTrackRecord> schoolTrackRecords;// 跟踪记录
	
	private List<SchoolKeeper> schoolKeepers;// 跟踪记录
	
	private String major;// 专业
	
	private String status;// 合作状态
	
	private String remark;
	
	private String devPeople;//开发人
	
	private List<SchoolPractice> schoolPractices;
	
	
	
	
	/**
	 * @return the devPeople
	 */
	public String getDevPeople() {
	
		return devPeople;
	}


	
	/**
	 * @param devPeople the devPeople to set
	 */
	public void setDevPeople(String devPeople) {
	
		this.devPeople = devPeople;
	}


	/**
	 * @return the schoolPractices
	 */
	@Transient
	public List<SchoolPractice> getSchoolPractices() {
	
		return schoolPractices;
	}

	
	/**
	 * @param schoolPractices the schoolPractices to set
	 */
	public void setSchoolPractices(List<SchoolPractice> schoolPractices) {
	
		this.schoolPractices = schoolPractices;
	}

	
	
	/**
	 * @return the id
	 */
	@GenericGenerator(name = "idGenerator", strategy = "uuid")
	@Id
	@GeneratedValue(generator = "idGenerator")
	@Column(name = "id", unique = true, nullable = false, length = 50)
	public String getId() {
	
		return id;
	}


	
	/**
	 * @param id the id to set
	 */
	public void setId(String id) {
	
		this.id = id;
	}


	/**
	 * @return the schoolCustomName
	 */
	@Column(length = 40)
	public String getSchoolCustomName() {
	
		return schoolCustomName;
	}
	
	/**
	 * @param schoolCustomName
	 *            the schoolCustomName to set
	 */
	public void setSchoolCustomName(String schoolCustomName) {
	
		this.schoolCustomName = schoolCustomName;
	}
	
	/**
	 * @return the organization
	 */
	@ManyToOne
	@JoinColumn(name = "organizationId")
	public Organization getOrganization() {
	
		return organization;
	}
	
	/**
	 * @param organization
	 *            the organization to set
	 */
	public void setOrganization(Organization organization) {
	
		this.organization = organization;
	}
	
	/**
	 * @return the schoolContactInfos
	 */
	@Transient
	public List<SchoolContactInfo> getSchoolContactInfos() {
	
		return schoolContactInfos;
	}
	
	/**
	 * @param schoolContactInfos
	 *            the schoolContactInfos to set
	 */
	public void setSchoolContactInfos(List<SchoolContactInfo> schoolContactInfos) {
	
		this.schoolContactInfos = schoolContactInfos;
	}
	
	
	
	/**
	 * @return the allocationTime
	 */
	public String getAllocationTime() {
	
		return allocationTime;
	}


	
	/**
	 * @param allocationTime the allocationTime to set
	 */
	public void setAllocationTime(String allocationTime) {
	
		this.allocationTime = allocationTime;
	}


	/**
	 * @return the allocationWays
	 */
	@Transient
	public List<AllocationWay> getAllocationWays() {
	
		return allocationWays;
	}
	
	/**
	 * @param allocationWays
	 *            the allocationWays to set
	 */
	public void setAllocationWays(List<AllocationWay> allocationWays) {
	
		this.allocationWays = allocationWays;
	}
	
	/**
	 * @return the schoolTrackRecords
	 */
	@Transient
	public List<SchoolTrackRecord> getSchoolTrackRecords() {
	
		return schoolTrackRecords;
	}
	
	/**
	 * @param schoolTrackRecords
	 *            the schoolTrackRecords to set
	 */
	public void setSchoolTrackRecords(List<SchoolTrackRecord> schoolTrackRecords) {
	
		this.schoolTrackRecords = schoolTrackRecords;
	}
	
	
	/**
	 * @return the schoolKeepers
	 */
	@Transient
	public List<SchoolKeeper> getSchoolKeepers() {
	
		return schoolKeepers;
	}



	
	/**
	 * @param schoolKeepers the schoolKeepers to set
	 */
	public void setSchoolKeepers(List<SchoolKeeper> schoolKeepers) {
	
		this.schoolKeepers = schoolKeepers;
	}



	/**
	 * @return the major
	 */
	@Column(length = 40)
	public String getMajor() {
	
		return major;
	}
	
	/**
	 * @param major
	 *            the major to set
	 */
	public void setMajor(String major) {
	
		this.major = major;
	}
	
	/**
	 * @return the status
	 */
	public String getStatus() {
	
		return status;
	}
	
	/**
	 * @param status
	 *            the status to set
	 */
	public void setStatus(String status) {
	
		this.status = status;
	}
	
	/**
	 * @return the reserve
	 */
	@Column(length = 400)
	public String getRemark() {
	
		return remark;
	}
	
	/**
	 * @param reserve
	 *            the reserve to set
	 */
	public void setRemark(String remark) {
	
		this.remark = remark;
	}
	
}
